在2018年,Telegram 团队推出了一个革命性的公链项目——TON,一经发布即吸引了大量眼球,原因在于其背后巨大的潜在Web2用户群体。
TON 的发展几经波折,在2023年,TON 推出了 DeFi 流动性激励计划,举办了Hack-a-TON 黑客松,旨在吸引全球顶尖开发者为 TON 生态注入新鲜血液,共同探索 DeFi、NFT 等前沿技术领域。现如今,其正在成为一个快速发展、充满活力的生态系统。
TON 发展历史
在2018年,Telegram 创立了 Telegram Open Network 项目,通过ICO募资约17亿美元,但后续 Telegram 受到 SEC 指控非法募资。在2020年 Telegram 团队同意支付1850万美元的罚款与 SEC 达成和解,放弃 Telegram Open Network 项目并将资金退还。
Telegram 团队随后将 Telegram Open Network 网络中所有的代币锁进智能合约中,任何人都可以参与挖矿获得 TON 代币(2022年6月,TON挖矿结束,TON网络已完全转变为PoS)。Telegram 此举将 Telegram Open Network 交给了社区,由名为NewTON社区的开发人员继续开发。之后 NewTON 社区更名为 TON 基金会,Telegram Open Network 也更名为 The Open Network,这便是现在的TON 公链。
而在2020年 Telegram 等待 SEC 判决时,TON Labs 对 Telegram Open Network 进行了分叉,发布了 "Free TON" 版本。目前 Free TON 已更名为 Everscale,且其发展路线和代码与原先的 TON 也有很大不同。
TON 链上数据
目前链上的验证器数量为357个,PoS 机制下总质押 $TON 数量为5亿多个,分布在24个国家当中。
https://www.tonstat.com/#toncoin目前 TON 网络共有近400万美金的质押量,APR约在5%左右。6月17日,TON 社区通过销毁机制提案,TON 网络上所有交易费用的50%将被销毁,以减少 $TON 的供应量。source: https://www.tonstake.com/#/
在过去的一年中 TON 生态中的活跃地址数目一直在稳步增长,截止至10月6号,链上活跃地址数为817,640;链上转账数量在今年有所回升,TON 账户数量也增长到 350 万个以上,开发者和使用者对这个生态的探索正在徐徐展开。$TON 在 ETH 和 BSC 链上均有代币合约。根据 EagleEye 平台的数据,在9月17日,$TON 的链上交易出现短期峰值,Buy/Sell Ratio 接近 1.17。$TON 价格在9月20日达到近期高点2.6美元。
source: https://eagleeye.space/detail/toncoin
此外,EagleEye 平台监控到中心化交易所 MEXC 上近期交易 $TON 非常活跃。10月5日,TON 宣布获得 MEXC Ventures 千万美元投资,同时双方建立战略合作伙伴关系。MEXC 将为 TON 生态提供营销服务和推广,提供 $TON 抵押借款服务。
source: https://eagleeye.space/detail/toncoinTON 设计特点
1. 智能合约的调用为异步
与以太坊等公链不同,TON 的智能合约之间的调用是异步的。这样的设计提高了可拓展性,因为当一个智能合约调用另一个智能合约的函数时,这个调用不会立即执行,不需要在一个区块中处理完所有的交易。但同时异步性也增加了开发者在 TON 链上开发和维护应用的门槛。
TON 区块链在设计上分为三种链:主链(Masterchain),工作链(Workingchains)和分片链(Shardchains)。source: Beosin
主链包含工作链,分片信息以及最近工作链和分片链的区块Hash。工作链最多为2^32条,它们包含交易和智能合约,通过一个无符号的32位整数 workchain_id 标识。不同的工作链可以有不同的地址格式,不同的交易格式,不同的虚拟机等。但不同的工作链之间需要满足 TON 区块链基本的互操作标准。TON 对于工作链的设计类似 Polkadot。对于每一条工作链,可以根据需求分成2^60条分片链。分片链最少只需负责一个帐户的状态维护和转换,并与其它分片链相互传输信息。TON 设计中的分片链本质上是“帐户链”,是一个或者多个账户的集合。通过这种设计,TON 实现了“无限分片范式”,以满足未来百万级TPS的目标。区块链网络数据存储和访问方式会影响其网络的数据一致性、可访问性和安全性。TON 采用哈希表进行数据存储。首先,哈希表是一种数据结构,它通过使用哈希函数将键(key)映射到存储桶(bucket)中,从而实现快速数据访问。在 TON 中,哈希表是分布式的,意味着数据被存储在网络中的多个节点上。当需要存储一个数据项时,TON 使用一个哈希函数来确定应该将数据项存储在哪个节点上。当需要检索数据时,使用相同的哈希函数来快速找到存储数据的节点,允许高效的数据插入、删除和查找操作。数据被加密和冗余存储在多个节点上,即使某些节点发生故障或被攻击,数据仍然可以从其他节点恢复,确保了数据的安全性和持久性。与传统的哈希表相比,分布式哈希表在分布式和大规模环境中提供了更高的性能和可靠性。以下是 TON 与 Ethereum、Bitcoin 网络的对比:
TON Proxy 是一个网络代理匿名服务,用于隐藏 TON 节点的 IP 地址,类似于 I2P (Invisible Internet Project),去构建去中心化的 VPN 服务,结合 TON DNS 和 TON P2P 网络,保护用户隐私。Telegram 中推出的“Secret Chats"功能采用端到端加密技术,旨在提高用户之间消息传输的安全性。进入2022年年末,Telegram 进一步更新,推出了基于区块链的匿名号码登录功能,允许用户无需手机号注册,仅通过保存 TON 钱包的助记词进行登录,从而提供一个额外的隐私选项。
2023年1月,TON 进一步扩展其功能,发布了 TON Storage。这是一个点对点的文件共享系统,与 Dropbox 和 torrents 有某些相似之处。这一系统的特点是简化文件交换过程,并为存储在区块链上的文件提供加密保护。同时,为了确保文件的持久存储,托管这些文件的节点运营者也能获得相应激励。TON 开发语言
在 TON 上开发智能合约,开发者有三种编程语言选择:Fift、FunC 和 Tact。Fift 偏底层,包含 TVM 和 Fift 汇编指令,使用 Fift 进行开发难度较大,极少开发者选择使用 Fift 语言开发智能合约。Tact 是 TON 新推出的高级语言,语法类似 Typescript,旨在降低开发难度。目前使用最多的开发语言为 FunC,它是类似C语言的编程语言。
在开发 TON 智能合约时,Beosin安全团队建议开发者需要注意以下7点:
1. FunC 与 Tact 均为静态类型语言,开发者需要非常清楚地知道其代码中变量存储的数据类型。读取非预期的类型和值都会引起错误。2. TON 区块链不包含revert消息。因此开发者需要考虑好代码运行的结束路径。3. TON 区块链有多个交易阶段:计算阶段(computational phase),执行阶段(actions phase)和反弹阶段(bounce phase)。计算阶段会执行合约代码,执行阶段才会发送消息。因此,开发者在测试代码时需要注意交易执行目前位于第几阶段。4. FunC 中有 method_id 标识符的函数可用于接收区块链内部和外部消息。5. TON 区块链是异步的,开发者需注意处理失败的调用信息。6. 注意智能合约中处理反弹信息(bounced message)的代码。如果智能合约发送带有 TON 资产的反弹信息到其它账户,建议在智能合约中扣除gas费。7. 对于外部消息,开发者需要注意重放攻击的风险。可以通过设置计数器或是标识符来避免重放攻击。Beosin 安全团队正式推出针对 TON 智能合约的安全审计服务,旨在提前发现并协助项目方修复项目中的安全风险,保障用户与项目方的资产安全。其主要安全审计项包括:保护智能合约不遭受外部信息(external messages)重放攻击的最简单方法是在智能合约的持久数据中存储一个 32 位计数器 cur-seqno,并在任何入站外部信息(签名部分)中预期一个 req-seqno 值。只有当签名有效且 req-seqno 等于 c007r-seqno 时,外部信息才会被接受。处理成功后,持久数据中的 cur-seqno 值会增加一个,因此同一外部信息将不会再被接受。如果没有 seqno(或其他防止重放攻击的机制),任何人(通常是资金接收方)都可以读取交易数据(例如来自区块链浏览器)并创建另一笔虚假交易并将其重新发送到原始钱包智能合约并强制其执行再次重新发送 TON,最终耗尽其所有资金。在合约中应该只有特定的用户拥有对于特定操作的权限。例如操作 NFT 转账,应该只能由 NFT 的 owner(或被owner授权的账户)进行。合约应该严格检查权限,如果通过,则进行转账操作。如果不通过,交易应该回退。FunC 合约中通过 set_data 函数写入变量,如果变量顺序或者变量名编写错误,很容易意外地写入错误变量并将原来的变量覆盖。部分项目合约在设计上就存在被攻击的风险,需要严格地从攻击者的角度考虑设计上是否存在攻击的可能。一些项目中,设计上并不存在攻击风险,但是在具体实施时,并未按照原有设计或实现方式存在问题,导致了漏洞的产生。由于 TON 的设计,代码的结束路径需要开发者进行考量。合约可能收到回退消息(bounced messages),合约需要对这些消息进行正确的处理。另外,在处理回退消息时还需要考虑gas耗尽的情况,这同样会产生意外的错误。消息流每个阶段都需要检查,攻击者可以在消息流第一阶段执行的同时启动另一个消息流,导致先前的检查失效。应该保证消息流符合设计,否则会带来意外的错误和损失。FunC 里面会有函数进行消息传递和阶段,可能存在问题,(例如:end_parse() 函数,检查切片是否为空,否则抛出异常。它可以确保切片具有预期的效果。抛异常的逻辑在代码编写时可能会写的有问题,例如抛异常但是没返回值。其他函数也可能会有一样的问题)。可能会有接收或者get函数中序列化消息错误,例如send_raw_message函数。a. 函数命名,配置命名,私有变量命名,get函数是否合理返回值,revert判断,0地址检查。b. 一些特权风险,func中也会有这样的函数,可以提中心化或者权限过高。FunC 中的 msg 调用和常规不太一样,签名和调用长度是按照位置发送的,可能存在问题。TON 生态
TON 生态中目前拥有 551 个apps, 分布在19个以上的细分领域中。
钱包
Ton Space 是 @wallet 中的非托管钱包,是 Telegram 中嵌入式的原生钱包,可用于导入现有的 TON 区块链钱包或创建新的 TON 区块链钱包。用户还可以选择使用TG账号和邮箱保存相应的私钥,并进行 NFT 的查看、发送和交易。Ton Space 即将支持更多功能,包括 DeFi 应用如 DEX、质押和借贷协议等,用户能使用 TON Connect 来访问TON上的第三方 dApp。
目前支持平台数量最多的 TON 区块链钱包为 Tonkeeper,支持网页端与移动端,在移动端还可查看用户持有的 TON 链上的NFT。值得注意的是,TON 的钱包为智能合约钱包,除了为实现 TON 网络的更多分片外,还为钱包提供了实现更多复杂应用的可能。
https://tonkeeper.com/
DEX
目前 TON 生态上共有6个主要的去中心化交易所,包括 Megaton Finance、ION Finance、DeDust、STON.fi 、Flex 和 Tegro Finance。这些 DEX 在用户受众方面都有不同侧重,Ston.fi 和 DeDust 拥有最大的用户群(进行swap的用户),而 DeDust 和 Megaton 有更活跃的用户。其中TVL最高的为 Megaton Finance,其TVL为约为500万美元,支持TON生态所有主流代币的兑换,其中最大的流动性池子为 oUSDT-oUSDC 稳定币池子,约占其TVL的40%。https://megaton.fi/pool
此外,去中心化订单簿模式的交易所 Storm Trade 正在测试中,支持网页端的同时也支持 Telegram bot 模式,用户在未来可直接使用 Storm Trade 开发的bot进行交互。借贷
TON 链的第一个借贷项目 Evaa Protocol 预计在10月10日上线Beta版本。7月19日,Evaa Protocol 宣布 TONcoin.fund 成为其战略投资者,10月2日在 Tonstarter 平台完成了私募融资13万美元。借贷协议 Evaa Protocol 的加入将有益于 TON 生态系统的资产流动性。
跨链桥
目前 TON 官方跨链桥支持资产在 TON 与 ETH、与 BSC 之间的互跨,其它链的官方跨链桥仍在开发中。此外,第三方跨链桥有 Orbit Bridge,Wallet Bridge 和 Tontake Bridge。Orbit Bridge 与 Megaton Finance 均由韩国公链 Klaytn 上的 DEX 平台 KlaySwap 团队开发,支持11条公链的互跨。Wallet Bridge 与 Tontake Bridge 为 Telegram bot 形式,但使用人数较少,用户需注意交互风险。数据平台
re:doubt是 TON 上的数据分析平台,其定位类似 CoinMarketCap 与 Dune Analytics 的集合,为普通用户和加密分析师提供了丰富的 TON 生态数据。https://beta.redoubt.online/其开发团队 Devnull 在今年7月 Beosin 支持的 Hack-a-Ton 黑客松中获得二等奖,后续将支持更多 TON 相关的数据分析。
TON的现在与未来
目前,TON 正在大力发展 DeFi 生态。今年,TON 已经举办了两场大型黑客松,主题均与DeFi相关。Beosin作为 Hack-a-ton x DWF Labs x AWS 的独家安全伙伴为开发者提供 workshop 指导与每周答疑,解决开发者构建 TON 生态项目的挑战。此外,TON 在各地区大力举办社区聚会与开发者训练营,旨在吸引更多开发者参与 TON 生态建设。Beosin 分别在今年7月和8月在新加坡、巴厘岛作为本地合作伙伴承办了 TON 线下meetup,并为首尔 Tact BootCamp 的参赛队伍进行了合约开发培训和获奖项目安全审计折扣。
Beosin 与 TON 社区合作
在第二次黑客松进行的同时,TON 在6月6日开启了生态项目流动性激励计划的申请,以支持 TON 生态的DeFi项目方和吸引更多用户。
目前 TON 生态上整体 DEX 的用户数约25000名,有2300多位的LP(流动性提供者),锁仓量TVL为500万枚 $TON,当前TVL仅为1000万美金左右,相比于其他知名公链上亿美金的TVL,TON 的生态潜力亟待被挖掘。在未来,如果 TON 要破除DeFi生态发展的困境,除了流动性激励外,还需要原生的稳定币和更多的流动性支持。目前 TON 链上的稳定币有oUSDT、oUSDC、jUSDT和jUSDC,而这些代币的流动性完全不够,兑换损耗非常大,大大降低了用户跨链到 TON 链进行交易的积极性。随着后续有更多跨链桥的上线,TON 链上将会出现更多种类的稳定币,以促进其TVL的提升。在移动端应用方面,TON 得益于 Telegram 的支持,各类应用的 Telegram bot 可以很好地集成到 Telegram 中,极大地减少了用户与应用的交互步骤。目前,DeFi 项目如 ION Finance 与 Storm Trade 都在开发自己的 Telegram bot,而像之前爆火的 Unibot、Banana Gun 等 Telegram trading bot,它们后续支持 TON 生态代币的交易并非难事。Beosin 的 EagleEye 链上监测平台在未来也计划上线 Telegram bot,为广大用户提供快捷的项目信息与数据查询。目前,EagleEye 已支持分析链上巨鲸地址,检测合约风险,监控项目社媒平台,为用户提供全面的项目信息。https://eagleeye.space/detail/toncoin
综上,随着生态的逐步构建和 TON 在移动端的优势,TON 依然具有非常大的潜力,在未来有很大机会吸引海量的用户参与其生态。Beosin 将与 TON 开展更多更深入的合作,为 TON 生态项目和用户提供安全保障。
Beosin 作为一家全球领先的区块链安全公司,在全球10多个国家和地区设立了分部,业务涵盖项目上线前的代码安全审计、项目运行时的安全风险监控、预警与阻断、虚拟货币被盗资产追回、安全合规KYT/AML等“一站式”区块链安全产品+服务,公司致力于Web3生态的安全发展,已为全球3000多个企业提供区块链安全技术服务,包括HashKey Group、Amber Group、BNB Chain等,已审计智能合约和公链主网超3000份,包括PancakeSwap、Ronin Network、OKCSwap等。欢迎点击公众号留言框,与我们联系。